package Levels
{
	
	
	import flash.display.MovieClip;
	import flash.text.TextFormat;
	import Objetos.Heroi;
	import flash.text.TextField;
	
	
	/**
	 * ...
	 * @author Rodrigo Forti
	 */
	public class Level extends MovieClip
	{
		protected var AR_plataformas:Array = new Array();
		protected var gameConstructor:MovieClip;
		
		protected var MC_heroi:Heroi;
		protected var MC_upgrade:MovieClip;
		protected var TX_placar:TextField = new TextField();
		protected var TX_placarFormato:TextFormat = new TextFormat;
		
		public static var AR_herois:Array = new Array();
		public static var AR_tiros:Array = new Array();
		
		public function Level()
		{
		
		}
		
		public function update():void
		{
			
			if (AR_herois.length == 2)
			{
				TX_placar.text = AR_herois[0].UI_vida.toString() + "  x  " + AR_herois[1].UI_vida.toString();
				TX_placar.x = Main.getStage().stageWidth / 2 - TX_placar.width / 2;
				TX_placar.textColor = 0x556688;
				TX_placar.selectable = false;
				
				TX_placarFormato.align = "center";
				TX_placarFormato.bold = true ;
				TX_placarFormato.size = 20;
				TX_placar.defaultTextFormat = TX_placarFormato;
			}
			
			for (var r:uint = 0; r < AR_herois.length; r++)
			{
				if (MC_upgrade != null && AR_herois[r].hitTestObject(MC_upgrade))
				{
					Main.getInstance().MC_tela.removeChild(MC_upgrade);
					MC_upgrade = null;
					AR_herois[r].BO_pegouUpgrade = true;
				}
				
				if (AR_herois[r].BO_morreu)
				{
					Main.getInstance().MC_tela.removeChild(AR_herois[r]);
					AR_herois.splice(r, 1);
				}
			}
			
			for each (MC_heroi in AR_herois)
			{
				
				MC_heroi.update();
				
				for (var i:int = 0; i < AR_plataformas.length; i++)
				{
					if (MC_heroi.hitTestObject(AR_plataformas[i]) && MC_heroi.getVelocidadeY > 0 && MC_heroi.y < AR_plataformas[i].y - 10)
					{
						MC_heroi.trocarVelocidadeY = 0;
						MC_heroi.y = (AR_plataformas[i].y - AR_plataformas[i].height / 2) - MC_heroi.height / 2;
						MC_heroi.BO_pulando = false;
					}
				}
			}
			
			for (var k:int = 0; k < AR_tiros.length; k++)
			{
				AR_tiros[k].update();
				
				for (var p:int = 0; p < AR_herois.length; p++)
				{
					if (AR_tiros[k] != null)
					{
						if (AR_tiros[k].hitTestObject(AR_herois[p]) && (AR_tiros[k].UI_player != AR_herois[p].UI_player))
						{
							Main.getInstance().MC_tela.removeChild(AR_tiros[k]);
							AR_tiros.splice(k, 1);
							AR_herois[p].diminuirVida();
						}
					}
				}
			}
		
		}
	
	}

}